Large-scale computer systems often host multiple applications that support many users. Example applications include database applications, file servers, and software services. Some large-scale computer systems are controlled and managed by operators. “Users” are those who rely on the services provided by a system, and “operators” are those who are those responsible for keeping the systems operational. Example actions taken by an operator include, controlling the availability of hardware units in a running system, specifying those hardware units that are controlled by a single instance of an operating system, and responding to alerts output by the system.
Some systems provide an interface through which operations-level control of a system can be exercised over a network by client programs. For example, ES7000 systems from Unisys include a service processor that executes a server control program. The server control program is available for client programs that seek to control some aspect of the system. Depending on the application, the client programs may support automated operations of the system or provide a user-interface for an operator.
The interface through which a client program affects system operations can be complex. For example, even though a client may need nothing more than a single piece of status information, the client may have to adhere to a complex protocol in order to obtain the desired information. In addition, the interface may only support client programs written in a particular programming language, thereby limiting the flexibility in developing new client programs. Once a client program is developed in accordance with the protocol of the interface, any change in the protocol in subsequent versions of the interface would require corresponding changes in the client programs.
A method and apparatus that addresses the aforementioned problems, as well as other related problems, are therefore desirable.